home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / games / nhak_src.zip / MKROOM.H < prev    next >
C/C++ Source or Header  |  1993-03-16  |  2KB  |  67 lines

  1. /*    SCCS Id: @(#)mkroom.h    3.0    89/01/07
  2. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  3. /* NetHack may be freely redistributed.  See license for details. */
  4.  
  5. #ifndef MKROOM_H
  6. #define MKROOM_H
  7.  
  8. /* mkroom.h - types and structures for room and shop initialization */
  9.  
  10. struct mkroom {
  11.     schar lx,hx,ly,hy;    /* usually xchar, but hx may be -1 */
  12.     schar rtype,rlit,doorct,fdoor;
  13. };
  14.  
  15. struct shclass {
  16.     const char    *name;    /* name of the shop type */
  17.     char    symb;    /* this identifies the shop type */
  18.     int    prob;    /* the shop type probability in % */
  19.     schar    dist;    /* artifact placement type */
  20. #define D_SCATTER    0    /* normal placement */
  21. #define D_SHOP        1    /* shop-like placement */
  22. #define D_TEMPLE    2    /* temple-like placement */
  23.     struct itp {
  24.         int    iprob;    /* probability of an item type */
  25.         int itype;    /* item type: if >=0 a class, if < 0 a specific item */
  26.     } iprobs[5];
  27.     char **shknms;    /* string list of shopkeeper names for this type */
  28. };
  29. extern const struct shclass shtypes[];    /* defined in shknam.c */
  30.  
  31. extern struct mkroom rooms[MAXNROFROOMS+1];
  32. /* the normal rooms on the current level are described in rooms[0..n] for
  33.  * some n<MAXNROFROOMS
  34.  * the vault, if any, is described by rooms[n+1]
  35.  * the next rooms entry has hx -1 as a flag
  36.  * there is at most one non-vault special room on a level
  37.  */
  38. extern coord doors[DOORMAX];
  39.  
  40. /* values for rtype in the room definition structure */
  41. #define OROOM         0    /* ordinary room */
  42. #define COURT         2    /* contains a throne */
  43. #define    SWAMP         3    /* contains pools */
  44. #define    VAULT         4    /* contains piles of gold */
  45. #define    BEEHIVE         5    /* contains killer bees and royal jelly */
  46. #define    MORGUE         6    /* contains corpses, undead and ghosts */
  47. #define BARRACKS     7    /* contains soldiers and their gear */
  48. #define    ZOO         8    /* floor covered with treasure and monsters */
  49. #define DELPHI         9    /* contains Oracle and peripherals */
  50. #define    TEMPLE        10    /* contains a shrine */
  51. #define    SHOPBASE    11    /* everything above this is a shop */
  52. #define ARMORSHOP    12    /* specific shop defines for level compiler */
  53. #define    SCROLLSHOP    13
  54. #define    POTIONSHOP    14
  55. #define    WEAPONSHOP    15
  56. #define    FOODSHOP    16
  57. #define    RINGSHOP    17
  58. #define    WANDSHOP    18
  59. #define    TOOLSHOP    19
  60. #ifdef SPELLS
  61. #define    BOOKSHOP    20
  62. #endif
  63.  
  64. #define IS_SHOP(x)    ((x).rtype >= SHOPBASE)
  65.  
  66. #endif /* MKROOM_H /**/
  67.